iT邦幫忙

2023 iThome 鐵人賽

DAY 4
0
Vue.js

Vue3 - 從零開始學系列 第 4

Vue3 - 從零開始學 - Day4 - if 判斷式

  • 分享至 

  • xImage
  •  

在上一個單元,已經學習到如何顯示 Hello World,這個最基礎的知識之後。接下來繼續打基礎,從這個單元開始,會接觸各種程式邏輯判斷的方法,會先從 if 判斷開始,首先先來看看什麼是 if 判斷。

一樣跟上一個單元一樣,宣告一個變數 isShow,但這裡的變數的型別是使用布林型別,只有 truefalse 兩種值,將其設定為 true

<script>
export default {
  name: 'App',
  data() {
    return {
      isShow: true,
    };
  },
};
</script>

接下來使用 if 判斷式來判斷這個變數 isShow 是不是等於 true,如果等於 true 的話才會顯示內容,否則的話就不顯示。在 Vue3 使用 if 判斷式是使用 v-if 這個關鍵字:

<p v-if="isShow">Hello World</p>

所以將程式碼結合起來:

<template>
  <p v-if="isShow">Hello World</p>
</template>

<script>
export default {
  name: 'App',
  data() {
    return {
      isShow: true,
    };
  },
};
</script>

data(){} 內宣告了一個布林變數為 isShow,在 template 之中使用 Vue3 標籤 v-if 並且指定變數為 isShow,就可以使用 isShow 這個變數來控制是否顯示 Hello World 這樣的內容。

可以把 isShow 修改為 false,然後看看 Hello World 是不是還會顯示。

if 判斷式也可以加入 else 的判斷語法,v-ifv-else-if。先宣告一個變數 x 等於 2:

<script>
export default {
  name: 'App',
  data() {
    return {
      x: 2,
    };
  },
};
</script>

然後加入 v-if 與 v-else-if 判斷:

<template>
  <p v-if="x === 0">x = 0</p>
  <p v-else-if="x === 1">x = 1</p>
  <p v-else-if="x === 2">x = 2</p>
  <p v-else>x != 0</p>
</template>

<script>
export default {
  name: 'App',
  data() {
    return {
      x: 2,
    };
  },
};
</script>

這個多重的 if else 結構是指,如果 x 等於 0 的話就顯示 x = 0,否則 x 等於 1 的話就顯示 x = 1,否則 x 等於 2 的話就顯示 x = 2,如果都不等於 0 且也不等於 1 且也不等於 2 的話就顯示 x != 0 。

最後, v-showv-if 會有一樣的效果,將 v-if 改成 v-show

<template>
  <p v-show="isShow">Hello World</p>
</template>

<script>
export default {
  name: 'App',
  data() {
    return {
      isShow: true,
    };
  },
};
</script>

v-showv-if 的差別在於,無法像 v-if 一樣可以寫多重的 if 判斷,另外如果 v-show 不顯示的話,會在 html 上顯示:

 <p style="display: none;">Hello World</p>

v-if 不顯示的話,會變成連 html 標籤都會消失不見。

今日程式碼範例

Vue3 - 從零開始學 - Day4 [完]


上一篇
Vue3 - 從零開始學 - Day3 - Hello World
下一篇
Vue3 - 從零開始學 - Day5 - 迴圈
系列文
Vue3 - 從零開始學31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言